package com.duduso.gerador.comum;

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

/**
 *
 * @author duduso
 */
public class LimitaTextoNumerico extends PlainDocument {

    private int limite = 0;

    public LimitaTextoNumerico(int limite) {
        this.limite = limite;
    }

    @Override
    public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
        for (int i = 0; i < str.length(); i++) {
            if (!Character.isDigit(str.charAt(i))) {
                return;
            }
        }
        int sobra = this.limite - getLength();
        int comprimento = (sobra > str.length()) ? str.length() : sobra;
        super.insertString(offs, str.substring(0, comprimento), a);
    }
}
